/* Autore: Nicola Agosti */
/*
Si scriva un programma in linguaggio C che legga da tastiera una serie di numeri interi
fino a quando la somma di tutti i numeri introdotti fino a quel momento non supera il
valore 1000. A quel punto, il programma stampa il valore del prodotto di tutti i numeri
inseriti.
*/

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>

int main()
{
	/* Dichiarazione delle variabili */
	/* Ho inizializzato "somma" a zero in modo da poterla utilizzare come accumulatore aggiungendo,
	di volta in volta, il nuovo numero inserito alla "somma" al passo precedente. */
	int somma = 0, numero;
	
	/* Ho deciso di dichiarare il prodotto come "float" per evitare che si verifichi un "overflow" */
	/* Ho inizializzato "prodotto" a uno in modo da poterlo utilizzare come accumulatore moltiplicando,
	di volta in volta, il nuovo numero inserito per il "prodotto" al passo precedente. */
	/* N.B. Se l'avessi inizializzato a zero avrei ottenuto sempre zero, perchè il prodotto di un 
	numero per zero fornisce sempre zero come risultato. */
	float prodotto = 1; 

	/* Il costrutto "while" permette di eseguire un blocco di istruzioni fino a quando la "sua" condizione
	e\' vera. */
	while (somma <= 1000)
	{
		/* Chiedo all'utente di inserire un nuovo numero */
		printf("Inserisci il numero: ");
		scanf("%d", &numero);

		/* Aggiorno la somma e il prodotto */
		somma = somma + numero;
		prodotto = prodotto * numero;
	}

	/* Visualizzo i risultati */
	printf("\nLa somma di tutti i numeri inseriti e\': %d", somma);
	printf("\nIl prodotto di tutti i numeri inseriti e\': %.0f", prodotto);

	return 0;
}